// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); 1Win официальный сайт букмекера — 1Вин ставки на спорт – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

1Win официальный сайт букмекера — 1Вин ставки на спорт

В мире ставок на спорт есть много букмекеров, но не все из них могут похваться официальным статусом. 1win – это один из немногих букмекеров, которые могут похваться официальным статусом и обеспечивать безопасность и прозрачность своих операций.

1Win – это международный букмекер, который работает на основе международных стандартов и обеспечивает безопасность своих клиентов. Компания была основана в 2018 году и с тех пор стала одним из лидеров на рынке ставок на спорт.

Официальный сайт 1Win – это место, где клиенты могут делать ставки на спорт, получать доступ к различным ставкам и получать информацию о результатах своих ставок. Сайт доступен на русском языке и обеспечивает безопасность и конфиденциальность своих клиентов.

Преимущества официального сайта 1Win:

Безопасность операций: 1Win обеспечивает безопасность своих операций, используя современные технологии и системы безопасности.

Прозрачность операций: 1Win обеспечивает прозрачность своих операций, предоставляя клиентам доступ к информации о результатах своих ставок.

Всегда доступен: 1Win доступен 24/7, что позволяет клиентам делать ставки в любое время суток.

Многофункциональный сайт: 1Win – это многофункциональный сайт, который обеспечивает доступ к различным ставкам, а также предоставляет информацию о результатах своих ставок.

Если вы ищете официальный сайт букмекера, который обеспечивает безопасность и прозрачность своих операций, то 1Win – это ваш выбор. Сайт доступен на русском языке и обеспечивает доступ к информации о результатах своих ставок.

1Win Официальный Сайт Букмекера

1Win – это один из самых популярных букмекеров в России, который предлагает своим клиентам широкий спектр услуг и функций для ставок на спорт. Официальный сайт 1Win – это место, где вы можете найти все необходимые информацию о букмекере, его услугах и условиях.

1Win был основан в 2018 году и с тех пор стал одним из лидеров на рынке букмекеров в России. Компания предлагает своим клиентам более 20 000 вариантов ставок на спорт, включая футбол, хоккей, баскетбол, теннис и другие виды спорта.

Услуги 1Win

1Win предлагает своим клиентам следующие услуги:

Ставки на спорт: вы можете сделать ставку на любое событие, включая футбол, хоккей, баскетбол, теннис и другие виды спорта.

Каско: вы можете сделать ставку на результат матча, а также на количество голов, пенальти и другие варианты.

Live-ставки: вы можете делать ставки в режиме реального времени, когда матч уже начался.

Live-видео: вы можете смотреть матчи в режиме реального времени, если они транслируются на официальном сайте 1Win.

Услуга
Описание

Ставки на спорт Вы можете сделать ставку на любое событие, включая футбол, хоккей, баскетбол, теннис и другие виды спорта. Каско Вы можете сделать ставку на результат матча, а также на количество голов, пенальти и другие варианты. Live-ставки Вы можете делать ставки в режиме реального времени, когда матч уже начался. Live-видео Вы можете смотреть матчи в режиме реального времени, если они транслируются на официальном сайте 1Win.

1Win предлагает своим клиентам также и другие услуги, такие как мобильное приложение, которое позволяет делать ставки на спорт в любом месте, а также приложение для компьютера, которое позволяет делать ставки на спорт с помощью интернета.

В целом, 1Win – это один из лучших букмекеров в России, который предлагает своим клиентам широкий спектр услуг и функций для ставок на спорт.

Преимущества и Функции 1Win

1Win – это один из лучших букмекеров в России, который предлагает своим клиентам широкий спектр функций и преимуществ. В этом разделе мы рассмотрим основные преимущества и функции 1Win, которые делают его одним из лидеров на рынке.

Один из главных преимуществ 1Win – это широкий спектр ставок на спорт. Компания предлагает более 20 видов спорта, включая футбол, хоккей, баскетбол, теннис и другие. Клиенты могут делать ставки на матчи, турниры, а также на индивидуальных спортсменов.

Кроме того, 1Win предлагает функцию live-ставок, которая позволяет клиентам делать ставки в реальном времени. Это особенно полезно для тех, кто хочет делать ставки на матчи, которые уже начались.

1Win также предлагает функцию линии, которая позволяет клиентам выбрать лучшие коэффициенты для своих ставок. Компания постоянно обновляет линию, чтобы обеспечить клиентам максимальную выгоду.

Кроме того, 1Win предлагает функцию казино, которая включает в себя игры на деньги, такие как рулетка, блэкджек, покер и другие. Клиенты могут играть в казино и делать ставки на спорт, используя одну и ту же учетку.

1Win также предлагает функцию мобильного приложения, которое позволяет клиентам делать ставки и играть в казино на мобильных устройствах. Это особенно полезно для тех, кто хочет делать ставки на спорт или играть в казино в любом месте.

Кроме того, 1Win предлагает функцию поддержки, которая работает круглосуточно, чтобы помочь клиентам с любыми вопросами или проблемами. Компания также предлагает функцию восстановления пароля, чтобы помочь клиентам восстановить доступ к своей учетке.

В целом, 1Win – это один из лучших букмекеров в России, который предлагает своим клиентам широкий спектр функций и преимуществ. Компания предлагает широкий спектр ставок на спорт, функцию live-ставок, функцию линии, функцию казино, мобильное приложение и функцию поддержки. Это делает 1Win одним из лучших выборов для тех, кто хочет делать ставки на спорт или играть в казино.

Как Сделать Ставку на Спорт

Шаги для Сделания Ставки на Спорт

Сделать ставку на спорт – это простой процесс, который можно разделить на несколько шагов:

  • Выберите вид спорта, на который вы хотите сделать ставку.
  • Выберите матч или событие, на которое вы хотите сделать ставку.
  • Выберите тип ставки: победа одной из команд, ничья, количество забитых голов и т.д.
  • Установите размер ставки.
  • Оформите ставку.

Важно! Перед тем, как сделать ставку, убедитесь, что вы понимаете правила и условия ставки.

Правила и Условия Ставки

Ставка на спорт – это рискованный процесс, и поэтому важно понимать правила и условия, которые регулируют его проведение. 1Win – это официальный сайт букмекера, который предлагает своим клиентам широкий спектр услуг, включая возможность сделать ставку на спорт.

  • Установите минимальный размер ставки.
  • Установите максимальный размер ставки.
  • Установите коэффициент для вашей ставки.
  • Установите срок действия вашей ставки.
  • Важно! Перед тем, как сделать ставку, убедитесь, что вы понимаете правила и условия ставки.

    1Win – это официальный сайт букмекера, который предлагает своим клиентам широкий спектр услуг, включая возможность сделать ставку на спорт. 1Win – это лучший способ для любителей спорта зарабатывать деньги.

    Отзывы и Рейтинг 1Win

    1Win – это один из самых популярных букмекеров в России, который предлагает своим клиентам широкий спектр услуг и функций для ставок на спорт. В этом разделе мы рассмотрим отзывы и рейтинг 1Win, чтобы помочь вам сделать более информированное решение о выборе букмекера.

    1Win имеет высокий рейтинг среди пользователей, который составляет 4,5 из 5 баллов. Клиенты букмекера высоко оценивают его простоту и доступность интерфейса, а также широкий спектр функций для ставок на спорт.

    Преимущества 1Win

    1Win предлагает несколько преимуществ, которые делают его одним из лучших букмекеров в России. Среди них:

    • Широкий спектр функций для ставок на спорт;
    • Простой и доступный интерфейс;
    • Высокие коэффициенты для ставок;
    • Многочисленные опции для пополнения счета;
    • 24/7 поддержка клиентов.

    Кроме того, 1Win предлагает несколько программ лояльности, которые помогут вам зарабатывать бонусы и дополнительные преимущества.

    Недостатки 1Win

    Несмотря на многие преимущества, 1Win имеет и некоторые недостатки. Среди них:

    • Некоторые пользователи критикуют интерфейс за сложность;
    • Коэффициенты для некоторых событий могут быть ниже, чем у других букмекеров;
    • Некоторые пользователи критикуют поддержку клиентов за медленность и неэффективность.

    Однако, эти недостатки не могут сравниться с преимуществами 1Win, и многие пользователи считают, что они компенсируются другими функциями и преимуществами букмекера.

    В целом, 1Win – это хороший выбор для тех, кто ищет надежный и доступный букмекер для ставок на спорт. С его широким спектром функций и преимуществами, он может предложить что-то для каждого пользователя.

    Design and Develop by Ovatheme